package Dominio;

import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class PerfilData {

	private UserData _usuario;
	private Date _fechaCreacion;
	private String _direccion;
	private String _correoElectronico;
	private long _cuentaBancaria;
	private Date _fechaNacimiento;

	public PerfilData(int nif) {
		_usuario = new UserData(nif);
	}
	
	public PerfilData(UserData u, String d, String ce, long cb, String fn) {
		set_usuario(u);
		set_direccion(d);
		set_correoElectronico(ce);
		set_cuentaBancaria(cb);
		set_fechaNacimiento(fn);
	}

	public PerfilData(UserData u, String fc, String d, String ce, long cb, String fn) {
		set_usuario(u);
		set_fechaCreacion(fc);
		set_direccion(d);
		set_correoElectronico(ce);
		set_cuentaBancaria(cb);
		set_fechaNacimiento(fn);
	}

	public PerfilData(UserData u, Date fc) {
		set_usuario(u);
		set_fechaCreacion(fc);
		_direccion = "";
		_correoElectronico = "";
		_cuentaBancaria = 0;
		_fechaNacimiento = null;
	}

	public UserData get_usuario() {
		return _usuario;
	}

	public void set_usuario(UserData _usuario) {
		this._usuario = _usuario;
	}

	public String get_direccion() {
		return _direccion;
	}

	public void set_direccion(String _direccion) {
		this._direccion = _direccion;
	}

	public Date get_fechaCreacion() {
		return _fechaCreacion;
	}

	public void set_fechaCreacion(Date fc) {
		if(fc != null)
			this._fechaCreacion = fc;
	}

	public String get_correoElectronico() {
		return _correoElectronico;
	}

	public void set_correoElectronico(String _correoElectronico) {
		this._correoElectronico = _correoElectronico;
	}

	public long get_cuentaBancaria() {
		return _cuentaBancaria;
	}

	public void set_cuentaBancaria(long cb) {
		this._cuentaBancaria = cb;
	}

	public Date get_fechaNacimiento() {
		return _fechaNacimiento;
	}

	public void set_fechaNacimiento(Date fn) {
		if(fn != null)
			this._fechaNacimiento = fn;
	}

	public String get_fechaCreacionString() {
		if(_fechaCreacion != null)
			return new SimpleDateFormat("yyyy-MM-dd").format(_fechaCreacion);
		else 
			return "";
	}

	public String get_fechaNacimientoString() {
		if(_fechaNacimiento != null)
			return new SimpleDateFormat("yyyy-MM-dd").format(_fechaNacimiento);
		else
			return "";
	}

	public void set_fechaNacimiento(String fecha) {
		Date date = null;
		if(!fecha.equals("")){
			try {
				date = new SimpleDateFormat("yyyy-MM-dd").parse(fecha);
			} catch (ParseException e) {
				e.printStackTrace();
			}
		}
		_fechaNacimiento = date;
	}

	public void set_fechaCreacion(String fecha) {
		Date date = null;
		if(!fecha.equals("")){
			try {
				date = new SimpleDateFormat("yyyy-MM-dd").parse(fecha);
			} catch (ParseException e) {
				e.printStackTrace();
			}
		}
		_fechaCreacion = date;
	}
	
	public String toString(){
		return _usuario.toString()+"\nFechaCreacion "+get_fechaCreacionString()+
				"\nDireccion "+_direccion+"\nCorreoE "+_correoElectronico+"\nnCuenta "+
				_cuentaBancaria+"\nfechaNacimiento "+get_fechaNacimientoString()+"\n";
	}
}
